<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum)</TargetFrameworks>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <DefineConstants>$(DefineConstants);CODEDOM</DefineConstants>
    <IsTrimmable>false</IsTrimmable>
    <UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
    <IsPackable>true</IsPackable>
    <PackageDescription>Provides types that can be used to model the structure of a source code document and to output source code for that model in a supported language.

Commonly Used Types:
System.CodeDom.CodeObject
System.CodeDom.Compiler.CodeDomProvider
Microsoft.CSharp.CSharpCodeProvider
Microsoft.VisualBasic.VBCodeProvider</PackageDescription>

    <!-- TODO https://github.com/dotnet/runtime/issues/90400: Annotate for nullable reference types -->
    <Nullable>disable</Nullable>
    <NoWarn>$(NoWarn);nullable</NoWarn>
  </PropertyGroup>

  <!-- DesignTimeBuild requires all the TargetFramework Derived Properties to not be present in the first property group. -->
  <PropertyGroup>
    <IsPartialFacadeAssembly Condition="$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)')) == '.NETFramework'">true</IsPartialFacadeAssembly>
  </PropertyGroup>

  <ItemGroup Condition="'$(IsPartialFacadeAssembly)' != 'true'">
    <Compile Include="Microsoft\CSharp\CSharpCodeGenerator.cs" />
    <Compile Include="Microsoft\CSharp\CSharpCodeGenerator.PlatformNotSupported.cs" />
    <Compile Include="Microsoft\CSharp\CSharpCodeProvider.cs" />
    <Compile Include="Microsoft\CSharp\CSharpMemberAttributeConverter.cs" />
    <Compile Include="Microsoft\CSharp\CSharpModifierAttributeConverter.cs" />
    <Compile Include="Microsoft\CSharp\CSharpTypeAttributeConverter.cs" />
    <Compile Include="Microsoft\VisualBasic\VBCodeGenerator.cs" />
    <Compile Include="Microsoft\VisualBasic\VBCodeGenerator.PlatformNotSupported.cs" />
    <Compile Include="Microsoft\VisualBasic\VBCodeProvider.cs" />
    <Compile Include="Microsoft\VisualBasic\VBMemberAttributeConverter.cs" />
    <Compile Include="Microsoft\VisualBasic\VBModifierAttributeConverter.cs" />
    <Compile Include="Microsoft\VisualBasic\VBTypeAttributeConverter.cs" />
    <Compile Include="System\CodeDom\CodeArgumentReferenceExpression.cs" />
    <Compile Include="System\CodeDom\CodeArrayCreateExpression.cs" />
    <Compile Include="System\CodeDom\CodeArrayIndexerExpression.cs" />
    <Compile Include="System\CodeDom\CodeAssignStatement.cs" />
    <Compile Include="System\CodeDom\CodeAttachEventStatement.cs" />
    <Compile Include="System\CodeDom\CodeAttributeArgument.cs" />
    <Compile Include="System\CodeDom\CodeAttributeArgumentCollection.cs" />
    <Compile Include="System\CodeDom\CodeAttributeDeclaration.cs" />
    <Compile Include="System\CodeDom\CodeAttributeDeclarationCollection.cs" />
    <Compile Include="System\CodeDom\CodeBaseReferenceExpression.cs" />
    <Compile Include="System\CodeDom\CodeBinaryOperatorExpression.cs" />
    <Compile Include="System\CodeDom\CodeBinaryOperatorType.cs" />
    <Compile Include="System\CodeDom\CodeCastExpression.cs" />
    <Compile Include="System\CodeDom\CodeCatchClause.cs" />
    <Compile Include="System\CodeDom\CodeCatchClauseCollection.cs" />
    <Compile Include="System\CodeDom\CodeChecksumPragma.cs" />
    <Compile Include="System\CodeDom\CodeComment.cs" />
    <Compile Include="System\CodeDom\CodeCommentStatement.cs" />
    <Compile Include="System\CodeDom\CodeCommentStatementCollection.cs" />
    <Compile Include="System\CodeDom\CodeCompileUnit.cs" />
    <Compile Include="System\CodeDom\CodeConditionStatement.cs" />
    <Compile Include="System\CodeDom\CodeConstructor.cs" />
    <Compile Include="System\CodeDom\CodeDefaultValueExpression.cs" />
    <Compile Include="System\CodeDom\CodeDelegateCreateExpression.cs" />
    <Compile Include="System\CodeDom\CodeDelegateInvokeExpression.cs" />
    <Compile Include="System\CodeDom\CodeDirectionExpression.cs" />
    <Compile Include="System\CodeDom\CodeDirective.cs" />
    <Compile Include="System\CodeDom\CodeDirectiveCollection.cs" />
    <Compile Include="System\CodeDom\CodeEntryPointMethod.cs" />
    <Compile Include="System\CodeDom\CodeEventReferenceExpression.cs" />
    <Compile Include="System\CodeDom\CodeExpression.cs" />
    <Compile Include="System\CodeDom\CodeExpressionCollection.cs" />
    <Compile Include="System\CodeDom\CodeExpressionStatement.cs" />
    <Compile Include="System\CodeDom\CodeFieldReferenceExpression.cs" />
    <Compile Include="System\CodeDom\CodeGotoStatement.cs" />
    <Compile Include="System\CodeDom\CodeIndexerExpression.cs" />
    <Compile Include="System\CodeDom\CodeIterationStatement.cs" />
    <Compile Include="System\CodeDom\CodeLabeledStatement.cs" />
    <Compile Include="System\CodeDom\CodeLinePragma.cs" />
    <Compile Include="System\CodeDom\CodeMemberEvent.cs" />
    <Compile Include="System\CodeDom\CodeMemberField.cs" />
    <Compile Include="System\CodeDom\CodeMemberMethod.cs" />
    <Compile Include="System\CodeDom\CodeMemberProperty.cs" />
    <Compile Include="System\CodeDom\CodeMethodInvokeExpression.cs" />
    <Compile Include="System\CodeDom\codemethodreferenceexpression.cs" />
    <Compile Include="System\CodeDom\CodeMethodReturnStatement.cs" />
    <Compile Include="System\CodeDom\CodeNamespace.cs" />
    <Compile Include="System\CodeDom\CodeNamespaceCollection.cs" />
    <Compile Include="System\CodeDom\CodeNamespaceImport.cs" />
    <Compile Include="System\CodeDom\CodeNamespaceImportCollection.cs" />
    <Compile Include="$(CommonPath)System\CodeDom\CodeObject.cs" />
    <Compile Include="System\CodeDom\CodeObjectCreateExpression.cs" />
    <Compile Include="System\CodeDom\CodeParameterDeclarationExpression.cs" />
    <Compile Include="System\CodeDom\CodeParameterDeclarationExpressionCollection.cs" />
    <Compile Include="System\CodeDom\CodePrimitiveExpression.cs" />
    <Compile Include="System\CodeDom\CodePropertyReferenceExpression.cs" />
    <Compile Include="System\CodeDom\CodePropertySetValueReferenceExpression.cs" />
    <Compile Include="System\CodeDom\CodeRegionDirective.cs" />
    <Compile Include="System\CodeDom\CodeRegionMode.cs" />
    <Compile Include="System\CodeDom\CodeRemoveEventStatement.cs" />
    <Compile Include="System\CodeDom\CodeSnippetCompileUnit.cs" />
    <Compile Include="System\CodeDom\CodeSnippetExpression.cs" />
    <Compile Include="System\CodeDom\CodeSnippetStatement.cs" />
    <Compile Include="System\CodeDom\CodeSnippetTypeMember.cs" />
    <Compile Include="System\CodeDom\CodeStatement.cs" />
    <Compile Include="System\CodeDom\CodeStatementCollection.cs" />
    <Compile Include="System\CodeDom\CodeThisReferenceExpression.cs" />
    <Compile Include="System\CodeDom\CodeThrowExceptionStatement.cs" />
    <Compile Include="System\CodeDom\CodeTryCatchFinallyStatement.cs" />
    <Compile Include="System\CodeDom\CodeTypeConstructor.cs" />
    <Compile Include="System\CodeDom\CodeTypeDeclaration.cs" />
    <Compile Include="System\CodeDom\CodeTypeDeclarationCollection.cs" />
    <Compile Include="System\CodeDom\CodeTypeDelegate.cs" />
    <Compile Include="System\CodeDom\CodeTypeMember.cs" />
    <Compile Include="System\CodeDom\CodeTypeMemberCollection.cs" />
    <Compile Include="System\CodeDom\CodeTypeOfExpression.cs" />
    <Compile Include="System\CodeDom\CodeTypeParameter.cs" />
    <Compile Include="System\CodeDom\CodeTypeParameterCollection.cs" />
    <Compile Include="$(CommonPath)System\CodeDom\CodeTypeReference.cs" />
    <Compile Include="$(CommonPath)System\CodeDom\CodeTypeReferenceCollection.cs" />
    <Compile Include="System\CodeDom\CodeTypeReferenceExpression.cs" />
    <Compile Include="System\CodeDom\CodeVariableDeclarationStatement.cs" />
    <Compile Include="System\CodeDom\CodeVariableReferenceExpression.cs" />
    <Compile Include="System\CodeDom\Compiler\CodeCompiler.cs" />
    <Compile Include="System\CodeDom\Compiler\CodeDomProvider.cs" />
    <Compile Include="System\CodeDom\Compiler\CodeGenerator.cs" />
    <Compile Include="System\CodeDom\Compiler\CodeGeneratorOptions.cs" />
    <Compile Include="System\CodeDom\Compiler\CodeParser.cs" />
    <Compile Include="System\CodeDom\Compiler\CodeValidator.cs" />
    <Compile Include="System\CodeDom\Compiler\CompilerError.cs" />
    <Compile Include="System\CodeDom\Compiler\CompilerErrorCollection.cs" />
    <Compile Include="System\CodeDom\Compiler\CompilerInfo.cs" />
    <Compile Include="System\CodeDom\Compiler\CompilerParameters.cs" />
    <Compile Include="System\CodeDom\Compiler\CompilerResults.cs" />
    <Compile Include="System\CodeDom\Compiler\Executor.cs" />
    <Compile Include="System\CodeDom\Compiler\GeneratorSupport.cs" />
    <Compile Include="System\CodeDom\Compiler\ICodeCompiler.cs" />
    <Compile Include="System\CodeDom\Compiler\ICodeGenerator.cs" />
    <Compile Include="System\CodeDom\Compiler\ICodeParser.cs" />
    <Compile Include="System\CodeDom\Compiler\ExposedTabStringIndentedTextWriter.cs" />
    <Compile Include="System\CodeDom\Compiler\LanguageOptions.cs" />
    <Compile Include="$(CommonPath)System\IO\TempFileCollection.cs" />
    <Compile Include="System\CodeDom\FieldDirection.cs" />
    <Compile Include="System\CodeDom\MemberAttributes.cs" />
    <Compile Include="System\Collections\Specialized\FixedStringLookup.cs" />
    <Compile Include="$(CommonPath)System\CSharpHelpers.cs" />
    <Compile Include="StringExtensions.cs" />
  </ItemGroup>
</Project>
